Random fixes. E.g., (random) never returned negative values.
authorPaul Eggert <eggert@cs.ucla.edu>
Tue, 5 Jul 2011 02:51:15 +0000 (19:51 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 5 Jul 2011 02:51:15 +0000 (19:51 -0700)
commit482c9cf9409fb6403448d96938715e982d2a0af2
tree664e9044402e3e793baa72663341b6553496b895
parentf1fe1e1fedfd36740f8ab1d40c1ea9ef8190753f
Random fixes.  E.g., (random) never returned negative values.

* fns.c (Frandom): Use GET_EMACS_TIME for random seed, and add the
subseconds part to the entropy, as that's a bit more random.
Prefer signed to unsigned, since the signedness doesn't matter and
in general we prefer signed.  When given a limit, use a
denominator equal to INTMASK + 1, not to VALMASK + 1, because the
latter isn't right if USE_2_TAGS_FOR_INTS.
* sysdep.c (get_random): Return a value in the range 0..INTMASK,
not 0..VALMASK.  Don't discard "excess" bits that random () returns.
src/ChangeLog
src/fns.c
src/sysdep.c